Розв’язування системи нелінійних алгебраїчних рівнянь методом простої ітерації (методом Ньютона)

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра автоматизованих систем управління

Інформація про роботу

Рік:
2011
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Інформаційні технології

Частина тексту файла

Міністерство освіти і науки України Національний університет «Львівська політехніка» Інститут комп’ютерних наук та інформаційних технологій Кафедра автоматизованих систем управління  ЗВІТ ПРО ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ №8 З ПРЕДМЕТУ: ЧИСЕЛЬНІ МЕТОДИ НА ТЕМУ «Розв’язування системи нелінійних алгебраїчних рівнянь методом простої ітерації (методом Ньютона)» Мета роботи: вивчити і засвоїти метод простої ітерації. Короткі теоретичні відомості Метод простої ітерації для розв’язування системи двох нелінійних рівнянь. Нехай потрібно з заданою точністю ε знайти дійсні корені системи двох нелінійних рівнянь. F1(x,y)=0 (3) F2(x,y)=0 Кількість і наближення коренів системи (3) знаходимо графічно. Нехай система має тільки ізольовані дійсні корені. При використанні методу ітерацій систему (3) зводимо до еквівалентної системи наступного вигляду:  (4) де , – так звані ітеруючі функції. На основі системи (4) будуємо ітерації  (5) Згідно з теоремою [3, с. 79] для збіжності процесу (5) до кореня системи (4) необхідно, щоб виконувалася умова на неперервно диференційовні функції ,  (6) Оцінка похибки n-го наближення дається формулою  (7) де M=max{q1,q2} Збіжність методу ітерацій є доброю, якщо М<1/2, при цьому М/(1-М) < 1. Побудуємо ітеруючі функції для системи (4)   (8) Коефіцієнти α,β,γ,δ знаходимо з системи  (9) Тоді, за такого підбору параметрів α,β,γ,δ, умова (6) виконується, якщо часткові похідні функцій ,  в околі точки  змінюються мало. Приклад.. Нехай маємо систему  Записуємо еквівалентну систему  В квадраті будуть виконуватися умови 0<φ1<1, 0<φ2<1 Тоді умови (6) матимуть вигляд  Завдання Використовуючи метод простої ітерації, розв’язати з точністю ε = 10 такі нелінійні системи рівнянь. Початкове наближення знайти графічно. Номер завдання для кожного студента відповідає його порядковому номеру в списку групи (підгрупи). 12.  Лістинг програми #include <vcl.h> #include <math.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; float x0, y0, xn0, ytn1, yn0, eps, h, xn1, yn1, k1, k2; bool modif=true; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- double func(double xn0, double yn0) { return (sin(yn0*yn0+xn0)/(xn0*yn0)); } //--------------------------------------------------------------------------- double func_toch(double xn0, double yn0) { return (xn0*xn0-yn0*yn0-0.75))); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { eps=StrToFloat(LabeledEdit1->Text); xn0=x0; yn0=y0; while (xn0 < (x0+0.4267)) { k1 = h*func(xn0,yn0); k2 = h*func(xn0+h,yn0+k1); yn1 = yn0 + (k1+k2)/2.0; xn1 = xn0 + h; xn0 = xn1; yn0 = yn1; ytn1=func_toch(xn1); Edit1->Text=FloatToStrF(xn1,ffFixed,8,4); Edit2->Text= FloatToStrF(yn1,ffFixed,8,4); if(abs(yn1-ytn1)>eps){h/=2.0; modif=false;} else if(!modif){h*=2; modif=true;} } } Вигляд програми:  Висновок: на даній лабораторній роботі я навчився розв‘язувати системи нелінійних рівнянь методом простої ітерації.
Антиботан аватар за замовчуванням

20.02.2013 20:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини